Conventional input/output ("I/O") devices commonly used in computer systems are often required to quickly drive I/O buses that are connected to I/O pins in order to meet various timing specifications. To meet these requirements, I/O devices are typically equipped with output drivers that have high signal switching strengths. When the output driver is turned off there is a potential problem on the bus. A user may pull the bus either high or low with external circuitry, but this may cause excess noise due to many outputs switching simultaneously. Accordingly, a conventional solution of preventing bus contention is to add a bus hold circuit (e.g., configured as a weak latch).
Although using bus hold circuits reduces the bus noise level, bus hold circuits are not always needed or desirable. For example, if an application requires that multiple I/O pins be tied together, a number of individual bus hold circuits associated with these pins may consume a large amount of operating current. Consequently, a voltage level held by the multiple bus hold circuits may tend to be more difficult to override. Further, some users may wish to purchase I/O devices that are not constructed with bus hold circuits because of the expected cost savings which may result. Unfortunately, it would be cost prohibitive for a manufacturer to produce two identical devices with one version having bus hold circuits and another without such circuits. Thus, a solution is needed.